accelgroup: Add gtk_accel_group_print_label()
authorBenjamin Otte <otte@redhat.com>
Mon, 13 Aug 2018 03:19:05 +0000 (05:19 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 19 Mar 2020 03:00:50 +0000 (23:00 -0400)
gtk/gtkaccelgroup.c
gtk/gtkaccelgroupprivate.h

index 0e95d26926853c616aaef2ceb9002e6b8c6778bb..0dea8cd6f7b06572cab0f26fd29463e83e6a8e07 100644 (file)
@@ -1812,11 +1812,22 @@ gtk_accelerator_get_label (guint           accelerator_key,
                            GdkModifierType accelerator_mods)
 {
   GString *gstring;
+
+  gstring = g_string_new (NULL);
+
+  gtk_accelerator_print_label (gstring, accelerator_key, accelerator_mods);
+
+  return g_string_free (gstring, FALSE);
+}
+
+void
+gtk_accelerator_print_label (GString        *gstring,
+                             guint           accelerator_key,
+                             GdkModifierType accelerator_mods)
+{
   gboolean seen_mod = FALSE;
   gunichar ch;
 
-  gstring = g_string_sized_new (10); /* ~len('backspace') */
-
   if (accelerator_mods & GDK_SHIFT_MASK)
     {
 #ifndef GDK_WINDOWING_QUARTZ
@@ -1996,8 +2007,6 @@ gtk_accelerator_get_label (guint           accelerator_key,
            }
        }
     }
-
-  return g_string_free (gstring, FALSE);
 }
 
 /**
index 15da43ae2b30b4f3c8710ff20566da546efa7868..e2b166378d4c90fbc4688efc868d2fbef4de81df 100644 (file)
@@ -34,10 +34,13 @@ struct _GtkAccelGroupPrivate
   GtkAccelGroupEntry *priv_accels;
 };
 
-void   _gtk_accel_group_reconnect        (GtkAccelGroup *accel_group,
-                                           GQuark         accel_path_quark);
-GSList* _gtk_accel_group_get_accelerables (GtkAccelGroup *accel_group);
+void   _gtk_accel_group_reconnect              (GtkAccelGroup          *accel_group,
+                                                 GQuark                  accel_path_quark);
+GSList* _gtk_accel_group_get_accelerables       (GtkAccelGroup          *accel_group);
 
+void    gtk_accelerator_print_label             (GString                *gstring,
+                                                 guint                   accelerator_key,
+                                                 GdkModifierType         accelerator_mods);
 G_END_DECLS
 
 #endif /* __GTK_ACCEL_GROUP_PRIVATE_H__ */